{ "type" : "object", "$schema" : "http://json-schema.org/draft-03/schema#", "properties" : { "interfaceCategory" : { "type" : "string", "required" : true, "description" : "CMP categorisation of the job associated with this file.", "enum" : [ "Credit Management" ] }, "interfaceType" : { "type" : "string", "required" : true, "description" : "Sub-categorisation of the job", "enum" : [ "Debt Recovery Response" ] }, "version" : { "type" : "number", "required" : true, "description" : "The current version of the generic extract file. This must match the corresponding outbound file.", "maximum" : 1.1, "minimum" : 1.1 }, "transformDateTime" : { "type" : "string", "required" : true, "description" : "Timestamp indicating when the third-party response file was transformed into the CMP generic format.", "format" : "date-time" }, "transmitDateTime" : { "type" : "string", "required" : true, "description" : "Timestamp indicating when the response file was received from the third-party system.", "format" : "date-time" }, "externalFileName" : { "type" : "string", "required" : true, "description" : "The name of the file that was received from the external system.", "maxLength" : 20, "minLength" : 1, "pattern" : "^([a-zA-Z0-9._-])+$" }, "recordCount" : { "type" : "integer", "required" : true, "description" : "The number of detail records in this file.", "maximum" : 9999999.0, "minimum" : 0.0 }, "isoCurrencyCode" : { "type" : "string" }, "companyId" : { "type" : "string", "maxLength" : 30 }, "companyType" : { "type" : "string", "maxLength" : 3 }, "draBatchDate" : { "type" : "string", "format" : "date-time" }, "placement" : { "type" : "integer", "maximum" : 9.0, "minimum" : 1.0 }, "details" : { "type" : "array", "items" : { "type" : "object", "properties" : { "detailSequence" : { "type" : "integer", "required" : true, "description" : "Unique identifier of the detail record within the current extract. Starts at 1 and incremented for each detail record", "minimum" : 0.0 }, "accountId" : { "type" : "integer", "required" : true, "description" : "Unique Identifier of the account. Error if not supplied", "maximum" : 9.9999999E7, "minimum" : 0.0 }, "remainingbalanceToRecover" : { "type" : "number", "description" : "The balance that has yet to be recovered from the customer", "maximum" : 9.9999999999E8, "minimum" : 0.0 }, "closureReasonCode" : { "type" : "string", "required" : true, "description" : "A code from the DCR to indicate the reason code for update. Often referred to as closure code. Error if not present.", "maxLength" : 4, "minLength" : 1 }, "closureReasonDescription" : { "type" : "string", "description" : "As description of the above reason code.", "maxLength" : 30 }, "paymentPlan" : { "type" : "object", "description" : "Should be null if all the contained fields are empty.", "properties" : { "amount" : { "type" : "number", "description" : "The regular amount that the customer has agreed to pay. e.g. 10.00. Assumed that all monetary amounts in this file are of the same currency and the ISOCurrencyCode is specified at the top of this file.", "maximum" : 9.9999999999E8, "minimum" : 0.0 }, "planFrequency" : { "type" : "integer", "maximum" : 999.0, "minimum" : 1.0 }, "frequencyUnits" : { "type" : "string", "description" : "The frequency units that the payment plan will be repaid e.g. W - Weekly, M - Monthly.", "enum" : [ "W", "M" ] }, "repaymentPeriod" : { "type" : "integer", "description" : "The period over which the payments will be made at the frequency specified above.", "maximum" : 3.0, "minimum" : 1.0 }, "endDate" : { "type" : "string", "description" : "The Date that the DRA consider the payment plan no longer active.", "format" : "date-time" } } } } } } } }